package com.onepice.mlp.core.service;

import com.onepice.mlp.data.entity.User;
import com.onepice.mlp.utils.commom.PageUtil;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author FireWang
 * @date 2022/07/11 18:26:57
 */
public interface UserService {

    /**
     * 获取所有列表
     *
     * @return
     * @throws Exception
     */
    List<User> getAll() throws Exception;

    /**
     * 根据id获取
     *
     * @param id
     * @return
     */
     User getById(Integer id) throws Exception;

    /**
     * 新建
     *
     * @param user
     * @return
     */
    void insert(User user) throws Exception;

    /**
     * 更新
     *
     * @param user
     * @return
     */
    void update(User user) throws Exception;

    /**
     * 根据id删除
     *
     * @param id
     * @return
     */
    void deleteById(Integer id) throws Exception;

    /**
     * 根据手机号获取用户
     *
     * @param phone
     * @return
     */
    User getUserByPhone(String phone);

    /**
     * 根据用户名获取用户
     *
     * @param userName
     * @return
     */
    User getUserByUerName(String userName);

    /**
     * 根据条件获取最大条数
     *
     * @param page
     * @return
     */
    Page<User> getUserForPage(PageUtil page);

}
